struct _KLOCK_ENTRY// Size=0x30
{
    struct _RTL_BALANCED_NODE TreeNode;// Offset=0x0 Size=0xc
    struct _SINGLE_LIST_ENTRY FreeListEntry;// Offset=0x0 Size=0x4
    unsigned long EntryFlags;// Offset=0xc Size=0x4
    unsigned char EntryOffset;// Offset=0xc Size=0x1
    unsigned char ThreadLocalFlags;// Offset=0xd Size=0x1
    unsigned char WaitingBit:1;// Offset=0xd Size=0x1 BitOffset=0x0 BitSize=0x1
    unsigned char Spare0:7;// Offset=0xd Size=0x1 BitOffset=0x1 BitSize=0x7
    unsigned char AcquiredByte;// Offset=0xe Size=0x1
    unsigned char AcquiredBit:1;// Offset=0xe Size=0x1 BitOffset=0x0 BitSize=0x1
    unsigned char CrossThreadFlags;// Offset=0xf Size=0x1
    unsigned char HeadNodeBit:1;// Offset=0xf Size=0x1 BitOffset=0x0 BitSize=0x1
    unsigned char IoPriorityBit:1;// Offset=0xf Size=0x1 BitOffset=0x1 BitSize=0x1
    unsigned char IoQoSWaiter:1;// Offset=0xf Size=0x1 BitOffset=0x2 BitSize=0x1
    unsigned char Spare1:5;// Offset=0xf Size=0x1 BitOffset=0x3 BitSize=0x5
    unsigned long StaticState:8;// Offset=0xc Size=0x4 BitOffset=0x0 BitSize=0x8
    unsigned long AllFlags:24;// Offset=0xc Size=0x4 BitOffset=0x8 BitSize=0x18
    struct _KLOCK_ENTRY_LOCK_STATE LockState;// Offset=0x10 Size=0x8
    void * LockUnsafe;// Offset=0x10 Size=0x4
    unsigned char CrossThreadReleasableAndBusyByte;// Offset=0x10 Size=0x1
    unsigned char Reserved[2];// Offset=0x11 Size=0x2
    unsigned char InTreeByte;// Offset=0x13 Size=0x1
    void * SessionState;// Offset=0x14 Size=0x4
    unsigned long SessionId;// Offset=0x14 Size=0x4
    struct _RTL_RB_TREE OwnerTree;// Offset=0x18 Size=0x8
    struct _RTL_RB_TREE WaiterTree;// Offset=0x20 Size=0x8
    char CpuPriorityKey;// Offset=0x18 Size=0x1
    unsigned long EntryLock;// Offset=0x28 Size=0x4
    unsigned long AllBoosts:17;// Offset=0x2c Size=0x4 BitOffset=0x0 BitSize=0x11
    unsigned short CpuBoostsBitmap:15;// Offset=0x2c Size=0x2 BitOffset=0x0 BitSize=0xf
    unsigned short IoBoost:1;// Offset=0x2c Size=0x2 BitOffset=0xf BitSize=0x1
    unsigned short IoQoSBoost:1;// Offset=0x2e Size=0x2 BitOffset=0x0 BitSize=0x1
    unsigned short IoNormalPriorityWaiterCount:8;// Offset=0x2e Size=0x2 BitOffset=0x1 BitSize=0x8
    unsigned short IoQoSWaiterCount:7;// Offset=0x2e Size=0x2 BitOffset=0x9 BitSize=0x7
};